package com.todolistmanager.persistence;

import java.util.List;

import com.todolistmanager.persistence.beans.Procedure;
import com.todolistmanager.persistence.exception.EmptyProcedureListException;
import com.todolistmanager.persistence.exception.InvalidProcedureException;
import com.todolistmanager.persistence.exception.ProcedureNotFoundException;

/**
 * Interface para estabelecer contrato entre a
 * 
 * @author cassio
 */
public interface IF_Persistence {

	/** Retorna a lista de procedures */
	public List<Procedure> getListProcedure() 				throws EmptyProcedureListException;

	/** Retorna uma determinada procedure */
	public Procedure getProcedure(String title) 			throws ProcedureNotFoundException;

	/** Remove uma determinada procedure */
	public void removeProcedure(String title) 				throws ProcedureNotFoundException;

	/** Adiciona uma procedure */
	public void addOrUpdateProcedure(Procedure procedure) 	throws InvalidProcedureException;

}